400
|
How can I change the password character

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL var_Editor
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
var_Editor := oGrid:Columns:Add("Edit"):Editor()
var_Editor:EditType := 1/*EditType*/
var_Editor:SetProperty("Option",18/*exEditPassword*/,.T.)
var_Editor:SetProperty("Option",19/*exEditPasswordChar*/,45)
oItems := oGrid:Items()
oItems:AddItem(0)
oItems:AddItem(1)
oItems:AddItem(2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
399
|
How can I add a password field

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL var_Editor
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
var_Editor := oGrid:Columns:Add("Edit"):Editor()
var_Editor:EditType := 1/*EditType*/
var_Editor:SetProperty("Option",18/*exEditPassword*/,.T.)
oItems := oGrid:Items()
oItems:AddItem(0)
oItems:AddItem(1)
oItems:AddItem(2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
398
|
How can I align the text to the right, in my edit control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL var_Editor
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
var_Editor := oGrid:Columns:Add("Edit"):Editor()
var_Editor:EditType := 1/*EditType*/
var_Editor:SetProperty("Option",10/*exEditRight*/,.T.)
oItems := oGrid:Items()
oItems:AddItem(0)
oItems:AddItem(1)
oItems:AddItem(2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
397
|
How can I add a simple edit or text box to my column

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Edit"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:AddItem(0)
oItems:AddItem(1)
oItems:AddItem(2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
396
|
How can I change the type of the editor

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Edit"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:AddItem(0)
oItems:AddItem(1)
oItems:AddItem(2)
oGrid:Columns:Item("Edit"):Editor():EditType := 4/*SpinType*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
395
|
How can I add a border arround the editor

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oEditor
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oEditor := oGrid:Columns():Add("Edit"):Editor()
oEditor:EditType := 1/*EditType*/
oEditor:Appearance := 1/*FlatApp*/
oItems := oGrid:Items()
oItems:AddItem("Edit")
oItems:AddItem("Edit")
oItems:AddItem("Edit")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
394
|
How do I assign an editor for the entire column

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Edit"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:AddItem("Edit")
oItems:AddItem("Edit")
oItems:AddItem("Edit")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
393
|
How do I check if a cell has an editor assigned

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:CellEditor(oItems:AddItem("Edit -> ReadOnly "),0):EditType := 1/*EditType*/
oItems:AddItem("ReadOnly")
oItems:AddItem("ReadOnly")
oItems:AddItem(oItems:HasCellEditor(oItems:FocusItem(),0))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
392
|
How do I delete or remove the editor for a sppecified cell
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:CellEditor(oItems:AddItem("Edit -> ReadOnly "),0):EditType := 1/*EditType*/
oItems:AddItem("ReadOnly")
oItems:AddItem("ReadOnly")
oItems:DeleteCellEditor(oItems:FocusItem(),0)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
391
|
How do I hide or disable the editor assigned to a single cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:AddItem("Edit")
oItems:SetProperty("CellEditorVisible",oItems:AddItem("ReadOnly"),0,0/*exEditorHidden*/)
oItems:AddItem("Edit")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
390
|
How do I assign or change the editor for a particular cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:AddItem("ReadOnly")
oItems:CellEditor(oItems:AddItem("Edit"),0):EditType := 1/*EditType*/
oItems:AddItem("ReadOnly")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
389
|
How do I get the caption of the cell as it is displayed on the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oEditor
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
h := oItems:AddItem(3)
oEditor := oItems:CellEditor(h,0)
oEditor:EditType := 6/*CheckListType*/
oEditor:AddItem(1,"One")
oEditor:AddItem(2,"Two")
oItems:AddItem(oItems:CellCaption(h,0))
oItems:AddItem(oItems:CellValue(h,0))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
388
|
Shift + Ctrl + Alt + Insert sequence copies the control's content to the clipboard, in template or x-script form
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:AllowCopyTemplate := .T.
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:AddItem("Item 3")
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
387
|
I've seen your template feature, is there any method to generate this x-script format

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ScrollBySingleLine := .T.
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:AddItem("Item 3")
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oItems1 := oGrid:Items()
oItems1:SetProperty("CellSingleLine",oItems1:AddItem(oGrid:ToTemplate()),0,0/*exCaptionWordWrap*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
386
|
How do I prevent scrolling the control's data after user does the sort

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:EnsureOnSort := .F.
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:AddItem("Item 3")
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oGrid:PutItems(oGrid:GetItems(0))
oGrid:PutItems(oGrid:GetItems(0))
oGrid:PutItems(oGrid:GetItems(0))
oGrid:Columns:Item(0):SortOrder := 1/*SortAscending*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
385
|
How do I ensure that the focused item is visible, after the user does the sort

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:EnsureOnSort := .T.
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:AddItem("Item 3")
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oGrid:Columns:Item(0):SortOrder := 1/*SortAscending*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
384
|
How can I disable selecting multiple items by dragging
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SelectByDrag := .F.
oGrid:SingleSel := .T.
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
383
|
Is there any function to change the default value for options of the editors

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SetProperty("DefaultEditorOption",18/*exEditPassword*/,.T.)
oGrid:Columns():Add("Pass1"):Editor():EditType := 1/*EditType*/
oGrid:Columns():Add("Pass2"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems1 := oGrid:Items()
oItems1:SetProperty("CellValue",oItems1:AddItem(1),1,2)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
382
|
How do I close the editor, or stop editing a cell
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:EditClose()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
381
|
Is there any function to highlight or mark the cells that have a tooltip using my picture or icon

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:MarkTooltipCells := .T.
oGrid:MarkTooltipCellsImage := 1
oGrid:Columns():Add("")
oItems := oGrid:Items()
oItems:SetProperty("CellToolTip",oItems:AddItem("This is a cell with a tooltip"),0,"This is a bit of text that is shown when the cursor hovers the cell.")
oItems1 := oGrid:Items()
oItems1:SetProperty("CellToolTip",oItems1:AddItem("This is a cell without a tooltip"),0,"")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
380
|
Is there any function to highlight or mark the cells that have a tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkTooltipCells := .T.
oGrid:SetProperty("TooltipCellsColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGrid:Columns():Add("")
oItems := oGrid:Items()
oItems:SetProperty("CellToolTip",oItems:AddItem("This is a cell with a tooltip"),0,"This is a bit of text that is shown when the cursor hovers the cell.")
oItems1 := oGrid:Items()
oItems1:SetProperty("CellToolTip",oItems1:AddItem("This is a cell without a tooltip"),0,"")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
379
|
Is there any function to highlight or mark the cells that have a tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkTooltipCells := .T.
oGrid:Columns():Add("")
oItems := oGrid:Items()
oItems:SetProperty("CellToolTip",oItems:AddItem("This is a cell with a tooltip"),0,"This is a bit of text that is shown when the cursor hovers the cell.")
oItems1 := oGrid:Items()
oItems1:SetProperty("CellToolTip",oItems1:AddItem("This is a cell without a tooltip"),0,"")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
378
|
How do I find the window's handled when an editor is running
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL var_Editing
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
var_Editing := oGrid:Editing()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
377
|
How can I start editing the cell
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:AutoEdit := .F.
oGrid:Edit()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
376
|
Is there any option to edit the control's data manually, so the editor doesn't show up as soon as the cell is focused
PROCEDURE OnClick(oGrid)
oGrid:Edit()
RETURN
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Click := {|| OnClick(oGrid)} /*Occurs when the user presses and then releases the left mouse button over the grid control.*/
oGrid:BeginUpdate()
oGrid:AutoEdit := .F.
oGrid:MarkSearchColumn := .F.
oGrid:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/
oGrid:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems:SetProperty("CellValue",oItems:AddItem(3),1,4)
oGrid:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
375
|
How can change the background color for selected editor

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SetProperty("Background",17/*exSelectInPlace*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGrid:Columns():Add("Editor"):Editor():EditType := 3/*DropDownListType*/
oGrid:Items():AddItem(20)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
374
|
How can change the visual appearance for the spin control, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
oGrid:SetProperty("Background",22/*exSpinUpButtonUp*/,0x1000000)
oGrid:SetProperty("Background",23/*exSpinUpButtonDown*/,0x2000000)
oGrid:SetProperty("Background",24/*exSpinDownButtonUp*/,0x1000000)
oGrid:SetProperty("Background",25/*exSpinDownButtonDown*/,0x2000000)
oGrid:Columns():Add("Editor"):Editor():EditType := 4/*SpinType*/
oGrid:Items():AddItem(20)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
373
|
How can change the visual appearance for the slider or track bar, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:SetProperty("Background",16/*exSliderThumb*/,0x1000000)
oGrid:SetProperty("Background",15/*exSliderRange*/,AutomationTranslateColor( GraMakeRGBColor ( { 210,210,210 } ) , .F. ))
oGrid:Columns():Add("Editor"):Editor():EditType := 20/*SliderType*/
oGrid:Items():AddItem(20)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
372
|
How can change the visual appearance for the button that are visible inside the editors, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oEditor
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
oGrid:SetProperty("Background",7/*exButtonDown*/,0x1000000)
oGrid:SetProperty("Background",6/*exButtonUp*/,0x2000000)
oEditor := oGrid:Columns():Add("Editor"):Editor()
oEditor:EditType := 7/*DateType*/
oEditor:AddButton(1)
oGrid:Items():AddItem("1/1/2002")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
371
|
How can change the visual appearance for the button that shows the drop down editors, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:VisualAppearance():Add(2,"c:\exontrol\images\pushed.ebn")
oGrid:SetProperty("Background",4/*exDropDownButtonUp*/,0x1000000)
oGrid:SetProperty("Background",5/*exDropDownButtonDown*/,0x2000000)
oGrid:Columns():Add("Editor"):Editor():EditType := 7/*DateType*/
oGrid:Items():AddItem("1/1/2002")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
370
|
How can I find the column that gets the focus
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1,oItems2
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:Columns():Add("Edit1"):Editor():EditType := 1/*EditType*/
oGrid:Columns():Add("Edit2"):Editor():EditType := 1/*EditType*/
oItems := oGrid:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,2)
oItems1 := oGrid:Items()
oItems1:SetProperty("CellValue",oItems1:AddItem(3),1,4)
oItems2 := oGrid:Items()
oItems2:SetProperty("ItemDivider",oItems2:AddItem(oGrid:FocusColumnIndex()),0)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
369
|
How do I make the control read-only, but still can see the values in a drop down list

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -1/*exAllLines*/
oGrid:ReadOnly := 1/*exLocked*/
oGrid:Columns():Add("Editor"):Editor():EditType := 7/*DateType*/
oGrid:Items():AddItem("1/1/2003")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
368
|
How do I make the control read-only (method 1)
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oColumn
LOCAL oEditor,oEditor1
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:BeginUpdate()
oGrid:ReadOnly := -1/*exReadOnly*/
oEditor := oGrid:Columns():Add("Editor"):Editor()
oEditor:EditType := 6/*CheckListType*/
oEditor:AddItem(1,"One")
oEditor:AddItem(2,"Two")
oColumn := oGrid:Columns():Add("Check")
oEditor1 := oColumn:Editor()
oEditor1:EditType := 19/*CheckValueType*/
oEditor1:SetProperty("Option",16/*exCheckValue1*/,2)
oItems := oGrid:Items()
oItems:SetProperty("CellValue",oItems:AddItem(1),1,0)
oItems:SetProperty("CellValue",oItems:AddItem(2),1,1)
oGrid:EndUpdate()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
367
|
How do I change the control's border, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:Appearance := 16777216/*0x1000000+*/
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
366
|
Can I change the default border of the tooltip, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ToolTipDelay := 1
oGrid:ToolTipWidth := 364
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:SetProperty("Background",64/*exToolTipAppearance*/,0x1000000)
oGrid:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
365
|
Can I change the background color for the tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ToolTipDelay := 1
oGrid:ToolTipWidth := 364
oGrid:SetProperty("Background",65/*exToolTipBackColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGrid:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
364
|
Does the tooltip support HTML format

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ToolTipDelay := 1
oGrid:ToolTipWidth := 364
oGrid:Columns():Add("tootip"):ToolTip := "<font Tahoma;11>T</font>his is an HTML <b>tooltip</b> assigned to a <fgcolor=FF0000>column</fgcolor>"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
363
|
Can I change the forecolor for the tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ToolTipDelay := 1
oGrid:ToolTipWidth := 364
oGrid:SetProperty("Background",66/*exToolTipForeColor*/,AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGrid:Columns():Add("tootip"):ToolTip := "this is a tooltip assigned to a column"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
362
|
Can I change the foreground color for the tooltip

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ToolTipDelay := 1
oGrid:ToolTipWidth := 364
oGrid:Columns():Add("tootip"):ToolTip := "<fgcolor=FF0000>this is a tooltip assigned to a column</fgcolor>"
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
361
|
How can I merge cells

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -1/*exAllLines*/
oGrid:MarkSearchColumn := .F.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oGrid:Columns():Add("C3")
oItems := oGrid:Items()
h := oItems:AddItem("this cell merges the first two columns")
oItems:SetProperty("CellMerge",h,0,1)
h := oItems:AddItem()
oItems:SetProperty("CellValue",h,1,"this cell merges the last two columns")
oItems:SetProperty("CellMerge",h,1,2)
h := oItems:AddItem("this cell merges the all three columns")
oItems:SetProperty("CellMerge",h,0,1)
oItems:SetProperty("CellMerge",h,0,2)
h := oItems:AddItem("this draws a divider item")
oItems:SetProperty("ItemDivider",h,0)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
360
|
How can I merge cells

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is bit of text merges all cells in the item")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
359
|
How can I specify the width for a splited cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h,s,s1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("Single Column")
oItems := oGrid:Items()
h := oItems:AddItem("Split 1")
s := oItems:SplitCell(h,0)
oItems:SetProperty("CellWidth",,s,64)
oItems:SetProperty("CellValue",,s,"Split 2")
s1 := oItems:SplitCell(,s)
oItems:SetProperty("CellValue",,s1,"Split 3")
oItems:SetProperty("CellWidth",,s1,64)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
358
|
How can I split a cell in three parts

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h,s,s1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("Single Column")
oItems := oGrid:Items()
h := oItems:AddItem("Split 1")
s := oItems:SplitCell(h,0)
oItems:SetProperty("CellValue",,s,"Split 2")
s1 := oItems:SplitCell(,s)
oItems:SetProperty("CellValue",,s1,"Split 3")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
357
|
How can I add a button aligned to right

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL s
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("Single Column")
oGrid:ShowFocusRect := .F.
oItems := oGrid:Items()
oItems:SetProperty("ItemDivider",oItems:AddItem("This is a bit of text being displayed on the entire item"),0)
s := oItems:SplitCell(oItems:AddItem("Split Cell 1.1"),0)
oItems:SetProperty("CellValue",,s,"Split Cell <img>1</img>")
oItems:SetProperty("CellValueFormat",,s,1/*exHTML*/)
oItems:SetProperty("CellHAlignment",,s,1/*CenterAlignment*/)
oItems:SetProperty("CellHasButton",,s,.T.)
oItems:SetProperty("CellWidth",,s,84)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
356
|
How can I split a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL s
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:Columns():Add("Single Column")
oGrid:ShowFocusRect := .F.
oItems := oGrid:Items()
s := oItems:SplitCell(oItems:AddItem("Split Cell 1.1"),0)
oItems:SetProperty("CellValue",,s,"Split Cell <img>1</img>")
oItems:SetProperty("CellValueFormat",,s,1/*exHTML*/)
oItems:SetProperty("CellHAlignment",,s,1/*CenterAlignment*/)
oItems:SetProperty("CellBackColor",,s,0x1000000)
oItems:SetProperty("CellWidth",,s,84)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
355
|
Can I select an item giving its general position

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SelectPos := 1
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
354
|
How can I change the color for separator / dividers items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SetProperty("GridLineColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:ScrollBySingleLine := .F.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem()
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("ItemDividerLine",h,4/*DoubleDotLine*/)
oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
oItems:SetProperty("ItemHeight",h,6)
oItems:SetProperty("SelectableItem",h,.F.)
h := oItems:AddItem("Cell 2")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
353
|
How can I add separator - dividers items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:ScrollBySingleLine := .F.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem()
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("ItemDividerLine",h,4/*DoubleDotLine*/)
oItems:SetProperty("ItemDividerLineAlignment",h,1/*DividerCenter*/)
oItems:SetProperty("ItemHeight",h,6)
oItems:SetProperty("SelectableItem",h,.F.)
h := oItems:AddItem("Cell 2")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
352
|
Can I change the style of the line being displayed by a divider item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:ScrollBySingleLine := .F.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is bit of text that's displayed on the entire item, divider.")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("ItemDividerLine",h,4/*DoubleDotLine*/)
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oItems:SetProperty("ItemHeight",h,24)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
351
|
Can I remove the line being displayed by a divider item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is bit of text that's displayed on the entire item, divider.")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("ItemDividerLine",h,0/*EmptyLine*/)
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
350
|
How can I display a divider item, merging all cells

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:TreeColumnIndex := -1
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
h := oItems:AddItem("This is bit of text that's displayed on the entire item, divider.")
oItems:SetProperty("ItemDivider",h,0)
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
349
|
How can I fix or lock items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("LockedItemCount",0/*exTop*/,1)
oItems:SetProperty("CellValue",oItems:LockedItem(0/*exTop*/,0),0,"This is a locked item, fixed to the top side of the control.")
oItems:SetProperty("ItemBackColor",oItems:LockedItem(0/*exTop*/,0),AutomationTranslateColor( GraMakeRGBColor ( { 196,196,186 } ) , .F. ))
oItems:SetProperty("LockedItemCount",2/*exBottom*/,2)
oItems:SetProperty("CellValue",oItems:LockedItem(2/*exBottom*/,0),0,"This is a locked item, fixed to the top side of the control.")
oItems:SetProperty("ItemBackColor",oItems:LockedItem(2/*exBottom*/,0),AutomationTranslateColor( GraMakeRGBColor ( { 196,196,186 } ) , .F. ))
oItems:SetProperty("CellValue",oItems:LockedItem(2/*exBottom*/,1),0,"This is a locked item, fixed to the top side of the control.")
oItems:SetProperty("ItemBackColor",oItems:LockedItem(2/*exBottom*/,1),AutomationTranslateColor( GraMakeRGBColor ( { 186,186,186 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
348
|
How can I fix or lock an item on the bottom side of the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("LockedItemCount",2/*exBottom*/,1)
oItems:SetProperty("CellValue",oItems:LockedItem(2/*exBottom*/,0),0,"This is a locked item, fixed to the bottom side of the control.")
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
347
|
How can I fix or lock an item on the top of the control

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("LockedItemCount",0/*exTop*/,1)
oItems:SetProperty("CellValue",oItems:LockedItem(0/*exTop*/,0),0,"This is a locked item, fixed to the top side of the control.")
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
346
|
Is there any function to limit the height of the items when I display it using multiple lines

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ScrollBySingleLine := .T.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines. This is bit of text that's shown on multiple lines.")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
oItems:SetProperty("ItemMaxHeight",h,48)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
345
|
Why I cannot center my cells in the column

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:TreeColumnIndex := -1
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("Default"):Alignment := 1/*CenterAlignment*/
oGrid:Items():AddItem("item 1")
oGrid:Items():AddItem("item 2")
oGrid:Items():AddItem("item 3")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
344
|
How can I align the cell to the left, center or to the right

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:TreeColumnIndex := -1
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("CellHAlignment",oItems:AddItem("left"),0,0/*LeftAlignment*/)
oItems:SetProperty("CellHAlignment",oItems:AddItem("center"),0,1/*CenterAlignment*/)
oItems:SetProperty("CellHAlignment",oItems:AddItem("right"),0,2/*RightAlignment*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
343
|
How do I apply HTML format to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:TreeColumnIndex := -1
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:SetProperty("HTMLPicture","p1","c:\exontrol\images\zipdisk.gif")
oGrid:SetProperty("HTMLPicture","p2","c:\exontrol\images\auction.gif")
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("The following item shows some of the HTML format supported:")
oItems:SetProperty("CellHAlignment",h,0,1/*CenterAlignment*/)
h := oItems:AddItem("<br>text icons <img>1</img>, <img>2</img>, ... pictures <img>p1</img>, <img>p2</img> <br><br>text <b>bold</b>, <i>italic</i>, <u>underline</u>, <s>strikeout</s>, ...<br><dotline>and so on...<br> <a>anchor</a> or <a2>hyperlink</a><br><fgcolor=FF0000>fgcolor</fgcolor> or <bgcolor=00FF00>bgcolor</bgcolor> ")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
oItems:SetProperty("CellSingleLine",h,0,0/*exCaptionWordWrap*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
342
|
How can I change the font for a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oGrid:Items():AddItem("std font")
oItems := oGrid:Items()
oItems:SetProperty("CellValueFormat",oItems:AddItem("this <font tahoma;12>is a bit of text with</font> a different font"),0,1/*exHTML*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
341
|
How can I change the font for a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL f
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oGrid:Items():AddItem("default font")
f := CreateObject("StdFont")
f:Name := "Tahoma"
f:Size := 12
oItems := oGrid:Items()
oItems:SetProperty("CellFont",oItems:AddItem("new font"),0,f)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
340
|
How can I change the font for entire item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL f
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oGrid:Items():AddItem("default font")
f := CreateObject("StdFont")
f:Name := "Tahoma"
f:Size := 12
oItems := oGrid:Items()
oItems:SetProperty("ItemFont",oItems:AddItem("new font"),f)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
339
|
How do I vertically align a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("MultipleLine"):SetProperty("Def",16/*exCellSingleLine*/,.F.)
oGrid:Columns():Add("VAlign")
oItems := oGrid:Items()
h := oItems:AddItem("This is a bit of long text that should break the line")
oItems:SetProperty("CellValue",h,1,"top")
oItems:SetProperty("CellVAlignment",h,1,0/*exTop*/)
h := oItems:AddItem("This is a bit of long text that should break the line")
oItems:SetProperty("CellValue",h,1,"middle")
oItems:SetProperty("CellVAlignment",h,1,1/*exMiddle*/)
h := oItems:AddItem("This is a bit of long text that should break the line")
oItems:SetProperty("CellValue",h,1,"bottom")
oItems:SetProperty("CellVAlignment",h,1,2/*exBottom*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
338
|
How can I change the position of an item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:AddItem("Item 1")
oItems:AddItem("Item 2")
oItems:SetProperty("ItemPosition",oItems:AddItem("Item 3"),0)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
337
|
How do I find an item based on a path

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:SetProperty("ItemData",oItems:InsertItem(h,,"Child 2"),1234)
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:FindPath("Root 1\Child 1"),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
336
|
How do I find an item based on my extra data

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:SetProperty("ItemData",oItems:InsertItem(h,,"Child 2"),1234)
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:FindItemData(1234),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
335
|
How do I find an item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:FindItem("Child 2",0),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
334
|
How can I insert a hyperlink or an anchor element

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems,oItems1
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Column")
oItems := oGrid:Items()
oItems:SetProperty("CellValueFormat",oItems:AddItem("Just an <a1>anchor</a> element ..."),0,1/*exHTML*/)
oItems1 := oGrid:Items()
oItems1:SetProperty("CellValueFormat",oItems1:AddItem("Just another <a2>anchor</a> element ..."),0,1/*exHTML*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
333
|
How do I find the index of the item based on its handle

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:ItemByIndex(oItems:ItemToIndex(h)),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
332
|
How do I find the handle of the item based on its index

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:ItemByIndex(1),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
331
|
How can I find the cell being clicked in a radio group

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,128 } ) , .F. ))
oGrid:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oGrid:Columns():Add("C3")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Radio 1")
oItems:SetProperty("CellHasRadioButton",h,1,.T.)
oItems:SetProperty("CellRadioGroup",h,1,1234)
oItems:SetProperty("CellValue",h,2,"Radio 2")
oItems:SetProperty("CellHasRadioButton",h,2,.T.)
oItems:SetProperty("CellRadioGroup",h,2,1234)
oItems:SetProperty("CellState",h,1,1)
oItems:SetProperty("CellBold",,oItems:CellChecked(1234),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
330
|
Can I add a +/- ( expand / collapse ) buttons to each item, so I can load the child items later

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:LinesAtRoot := -1/*exLinesAtRoot*/
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("ItemHasChildren",oItems:AddItem("parent item with no child items"),.T.)
oItems:AddItem("next item")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
329
|
Can I let the user to resize at runtime the specified item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ScrollBySingleLine := .T.
oGrid:DrawGridLines := -2/*exRowLines*/
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
oItems:SetProperty("ItemAllowSizing",oItems:AddItem("resizable item"),.T.)
oItems:AddItem("not resizable item")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
328
|
How can I change the size ( width, height ) of the picture

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:SetProperty("CellPicture",h,0,oGrid:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)"))
oItems:SetProperty("CellPictureWidth",h,0,24)
oItems:SetProperty("CellPictureHeight",h,0,24)
oItems:SetProperty("ItemHeight",h,32)
h := oItems:AddItem("Root 2")
oItems:SetProperty("CellPicture",h,0,oGrid:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)"))
oItems:SetProperty("ItemHeight",h,48)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
327
|
How can I find the number or the count of selected items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SingleSel := .F.
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",oItems:ItemChild(h),.T.)
oItems:SetProperty("SelectItem",oItems:NextSiblingItem(oItems:ItemChild(h)),.T.)
oItems:AddItem(oGrid:ExecuteTemplate("Items.SelectCount()"))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
326
|
How do I unselect an item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",h,.F.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
325
|
How do I find the selected item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:SelectedItem(0),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
324
|
How do I un select all items
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SingleSel := .F.
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:UnselectAll()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
323
|
How do I select multiple items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SingleSel := .F.
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",oItems:ItemChild(h),.T.)
oItems:SetProperty("SelectItem",oItems:NextSiblingItem(oItems:ItemChild(h)),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
322
|
How do I select all items

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SingleSel := .F.
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SelectAll()
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
321
|
How do I select an item

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("SelectItem",h,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
320
|
Can I display a button with some picture or icon inside

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SetProperty("HTMLPicture","p1","c:\exontrol\images\zipdisk.gif")
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1," Button <img>p1</img> ")
oItems:SetProperty("CellValueFormat",h,1,1/*exHTML*/)
oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
oItems:SetProperty("CellHasButton",h,1,.T.)
oItems:SetProperty("CellButtonAutoWidth",h,1,.T.)
oItems:SetProperty("ItemHeight",h,48)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
319
|
Can I display a button with some picture or icon inside

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1," Button <img>1</img> ")
oItems:SetProperty("CellValueFormat",h,1,1/*exHTML*/)
oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
oItems:SetProperty("CellHasButton",h,1,.T.)
oItems:SetProperty("CellButtonAutoWidth",h,1,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
318
|
Can I display a button with some icon inside

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1," <img>1</img> ")
oItems:SetProperty("CellValueFormat",h,1,1/*exHTML*/)
oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
oItems:SetProperty("CellHasButton",h,1,.T.)
oItems:SetProperty("CellButtonAutoWidth",h,1,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
317
|
How can I assign multiple icon/picture to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:SetProperty("HTMLPicture","p1","c:\exontrol\images\zipdisk.gif")
oGrid:SetProperty("HTMLPicture","p2","c:\exontrol\images\auction.gif")
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("text <img>p1</img> another picture <img>p2</img> and so on")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
oItems:SetProperty("CellPicture",h,0,oGrid:ExecuteTemplate("loadpicture(`c:\exontrol\images\colorize.gif`)"))
oItems:SetProperty("ItemHeight",h,48)
oItems:AddItem("Root 2")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
316
|
How can I assign an icon/picture to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:SetProperty("CellPicture",h,0,oGrid:ExecuteTemplate("loadpicture(`c:\exontrol\images\zipdisk.gif`)"))
oItems:SetProperty("ItemHeight",h,48)
oItems:AddItem("Root 2")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
315
|
How can I assign multiple icons/pictures to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root <img>1</img> 1, <img>2</img>, ... and so on ")
oItems:SetProperty("CellValueFormat",h,0,1/*exHTML*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
314
|
How can I assign multiple icons/pictures to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:SetProperty("CellImages",h,0,"1,2,3")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
313
|
How can I assign an icon/picture to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:SetProperty("CellImage",h,0,1)
oItems:SetProperty("CellImage",oItems:InsertItem(h,,"Child 1"),0,2)
oItems:SetProperty("CellImage",oItems:InsertItem(h,,"Child 2"),0,3)
oItems:SetProperty("ExpandItem",h,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
312
|
How can I get the handle of an item based on the handle of the cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("Default")
oItems := oGrid:Items()
h := oItems:AddItem("Root 1")
oItems:InsertItem(h,,"Child 1")
oItems:InsertItem(h,,"Child 2")
oItems:SetProperty("ExpandItem",h,.T.)
oItems:SetProperty("ItemBold",oItems:CellItem(oItems:ItemCell(h,0)),.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
311
|
How can I display a button inside the item or cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1," Button 1 ")
oItems:SetProperty("CellHAlignment",h,1,2/*RightAlignment*/)
oItems:SetProperty("CellHasButton",h,1,.T.)
oItems:SetProperty("CellButtonAutoWidth",h,1,.T.)
h := oItems:AddItem("Cell 2")
oItems:SetProperty("CellValue",h,1," Button 2 ")
oItems:SetProperty("CellHAlignment",h,1,1/*CenterAlignment*/)
oItems:SetProperty("CellHasButton",h,1,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
310
|
How can I change the state of a radio button

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,128 } ) , .F. ))
oGrid:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oGrid:Columns():Add("C3")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Radio 1")
oItems:SetProperty("CellHasRadioButton",h,1,.T.)
oItems:SetProperty("CellRadioGroup",h,1,1234)
oItems:SetProperty("CellValue",h,2,"Radio 2")
oItems:SetProperty("CellHasRadioButton",h,2,.T.)
oItems:SetProperty("CellRadioGroup",h,2,1234)
oItems:SetProperty("CellState",h,1,1)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
309
|
How can I assign a radio button to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:MarkSearchColumn := .F.
oGrid:SetProperty("SelBackColor",AutomationTranslateColor( GraMakeRGBColor ( { 255,255,128 } ) , .F. ))
oGrid:SetProperty("SelForeColor",AutomationTranslateColor( GraMakeRGBColor ( { 0,0,0 } ) , .F. ))
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oGrid:Columns():Add("C3")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Radio 1")
oItems:SetProperty("CellHasRadioButton",h,1,.T.)
oItems:SetProperty("CellRadioGroup",h,1,1234)
oItems:SetProperty("CellValue",h,2,"Radio 2")
oItems:SetProperty("CellHasRadioButton",h,2,.T.)
oItems:SetProperty("CellRadioGroup",h,2,1234)
oItems:SetProperty("CellState",h,1,1)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
308
|
How can I change the state of a checkbox

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Check Box")
oItems:SetProperty("CellHasCheckBox",h,1,.T.)
oItems:SetProperty("CellState",h,1,1)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
307
|
How can I assign a checkbox to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Check Box")
oItems:SetProperty("CellHasCheckBox",h,1,.T.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
306
|
How can I display an item or a cell on multiple lines

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:ScrollBySingleLine := .T.
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"This is bit of text that's shown on multiple lines")
oItems:SetProperty("CellSingleLine",h,1,0/*exCaptionWordWrap*/)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
305
|
How can I assign a tooltip to a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"tooltip")
oItems:SetProperty("CellToolTip",h,1,"This is bit of text that's shown when the user hovers the cell")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
304
|
How can I associate an extra data to a cell
#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Cell 2")
oItems:SetProperty("CellData",h,1,"your extra data")
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
303
|
How do I enable or disable a cell

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Cell 2")
oItems:SetProperty("CellValue",h,2,"Cell 3")
oItems:SetProperty("CellEnabled",h,1,.F.)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
302
|
How do I change the cell's foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Cell 2")
oItems:SetProperty("CellForeColor",h,1,AutomationTranslateColor( GraMakeRGBColor ( { 255,0,0 } ) , .F. ))
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|
301
|
How do I change the visual effect for the cell, using your EBN files

#include "AppEvent.ch"
#include "ActiveX.ch"
PROCEDURE Main
LOCAL oForm
LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
LOCAL oGrid
LOCAL oItems
LOCAL h
oForm := XbpDialog():new( AppDesktop() )
oForm:drawingArea:clipChildren := .T.
oForm:create( ,,{100,100}, {640,480},, .F. )
oForm:close := {|| PostAppEvent( xbeP_Quit )}
oGrid := XbpActiveXControl():new( oForm:drawingArea )
oGrid:CLSID := "Exontrol.Grid.1" /*{101EE60F-7B07-48B0-A13A-F32BAE7DA165}*/
oGrid:create(,, {10,60},{610,370} )
oGrid:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
oGrid:Columns():Add("C1")
oGrid:Columns():Add("C2")
oItems := oGrid:Items()
h := oItems:AddItem("Cell 1")
oItems:SetProperty("CellValue",h,1,"Cell 2")
oItems:SetProperty("CellBackColor",h,1,0x1000000)
oForm:Show()
DO WHILE nEvent != xbeP_Quit
nEvent := AppEvent( @mp1, @mp2, @oXbp )
oXbp:handleEvent( nEvent, mp1, mp2 )
ENDDO
RETURN
|